<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <div class="container">
    <h2 class="page-header">Promise初体验</h2>
    <button class="btn btn-primary" id="btn">点击抽奖</button>

  </div>

  <script>
    //生成随机数
    function rand(m, n) {
      return Math.ceil(Math.random() * (n - m + 1) + m - 1);
    }
    //获取元素对象
    const btn = document.querySelector('#btn');
    //绑定单击事件
    btn.addEventListener('click', function () {
      // setTimeout(() => {
      //   let n = rand(1, 100);
      //   if(n<=30){
      //     alert('恭喜你获得奖品一');
      //   }else if(n>30 && n<=60){
      //     alert('恭喜你获得奖品二');
      //   }else{
      //     alert('恭喜你获得奖品三');
      //   }
      // }, 1000);

      //promise方式
      //resolve 解决 函数类型的数据
      //reject  拒绝 函数类型的数据
      const p = new Promise((resolve, reject) => {
        setTimeout(() => {
          let n = rand(1, 100);
          if (n <= 30) {
            resolve(n)
          } else {
            reject()
          }
        }, 1000);
      })

      //调用.then方法,then方法有两个参数,第一个参数是解决状态的回调函数,第二个参数是拒绝状态的回调函数
      p.then((n) => {
        alert(`恭喜你获得奖品一，${n}`);
      }, () => {
        alert('很遗憾，没有抽中奖品');
      })

    })
  </script>
</body>

</html>